四大排名函数 您所在的位置:网站首页 mysql排序函数row number 四大排名函数

四大排名函数

2023-04-01 00:01| 来源: 网络整理| 查看: 265

一、ROW_NUMBER()

Row_number() 在排名是序号 连续 不重复,即使遇到表中的两个一样的数值亦是如此

select *,row_number() OVER(order by number ) as row_num from num

数据如下:

image.png

结果如图:

image.png

注意:在使用row_number() 实现分页时需要特别注意一点,over子句中的order by 要与SQL排序记录中的order by保持一致,否则得到的序号可能不是连续的 select *,row_number() OVER(order by number ) as row_num from num ORDER BY id

image.png 二、rank()

Rank() 函数会把要求排序的值相同的归为一组且每组序号一样,排序不会连续执行

select *,rank() OVER(order by number ) as row_num from num

结果如下:

image.png 三、dense_rank()

Dense_rank() 排序是连续的,也会把相同的值分为一组且每组排序号一样

select *,dense_rank() OVER(order by number ) as row_num from num

结果如下:

image.png

四、ntile() Ntile(group_num) 将所有记录分成group_num个组,每组序号一样

select *,ntile(2) OVER(order by number ) as row_num from num image.png


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有